package d6_set;

import java.util.Set;
import java.util.TreeSet;

public class SetDemo05 {
    public static void main(String[] args) {
        //目标: TreeSet排序对象
        //方式二: 通过TreeSet集合有参数构造器, 可以设置Comparator对象(比较器对象, 用于指定比较规则)
        //public TreeSet(Comparator<? super E> comparator)
        //就近原则
       /* Set<Girl> set = new TreeSet<>(new Comparator<Girl>() {
            @Override
            public int compare(Girl o1, Girl o2) {
                return Double.compare(o2.getHeight(), o1.getHeight());
            }
        });*/
        //Set<Girl> set = new TreeSet<>((o1,  o2)-> Double.compare(o2.getHeight(), o1.getHeight()));
        Set<Girl> set = new TreeSet<>();
        //排序、不重复、无索引
        //红黑树的特点是,按照比较规则是相等,就去重
        //如果小保留,就得改变比较规则
        //对象不知道排序规则,必须用之前的两种方式,否则就会报错
        set.add(new Girl("陈平安", '男', 22, 178.0));
        set.add(new Girl("宁姚", '女', 24, 172.5));
        set.add(new Girl("叶凡", '男', 25, 175.0));
        set.add(new Girl("姬紫月", '女', 26, 169.4));
        set.add(new Girl("秦牧", '男', 24, 175.5));
        System.out.println(set);
    }
}
